#include "./key/key.h"

void Key_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOE, ENABLE);
	
	//配置灯输出
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(GPIOC, &GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
	GPIO_Init(GPIOE, &GPIO_InitStructure);
}

void Led_Set(_Bool Data)
{
	if(Data)
		GPIO_SetBits(GPIOC, GPIO_Pin_13);
	else
		GPIO_ResetBits(GPIOC, GPIO_Pin_13);
}

_Bool Key_Get(int key_number)
{
	switch(key_number)
	{
		case 1: return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_2);
		case 2: return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_3);
		case 3: return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4);
		case 4: return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_5);
		case 5: return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_6);
		default : return 1;
	}
}

